<?php
/**
 * Created by PhpStorm.
 * User: OOM-Administrator
 * Date: 2018/4/23
 * Time: 13:35
 */

return [
	'traceLevel' =>  0,
    'targets' => [
        [
            'class' => 'yii\log\FileTarget',
            //Yii2处理日志的类
            'levels' => ['error','info'],
            //设置日志记录的级别
            'categories' => [
//            	'yii\i18n\*',
//	            '!application',
	            'runtime',//自定义需要打的日志
	            'warning',//报错的，但是不是致命错误的
	            'AppException',//打印异常的日志
	            'error',//手动打印的错误异常
//	            'yii\db\*',//检查所有的sql
            ], //自定义日志分类
            'maxFileSize' => 1024 * 20,
            //设置文件大小，以k为单位
            'logFile' => '@runtime/logs/user' . date('Ymd') . '.log',
            //自定义文件路径 (一般项目的日志会打到服务器的其他路径，需要修改相应目录的权限哦~)
            'logVars' => [
            	'_POST',
            	'_GET'
            ],
            //捕获请求参数
            'fileMode' => 0775,
            //设置日志文件权限
            'maxLogFiles' => 100,
            //同个文件名最大数量
            'rotateByCopy' => false,
            //是否以复制的方式rotate
            'prefix' => function ($message){   //日志格式自定义 回调方法
                $request = Yii::$app->getRequest();
                $uri = $request->getPathInfo();
                $ip = $request instanceof \yii\web\Request ? $request->getUserIP() : '-';
                $log_id = Yii::$app->params['log_id'];
                $username = Yii::$app->user->getIdentity() ? Yii::$app->user->identity->username : 'no_username';
                $user_id = Yii::$app->user->getIdentity() ? Yii::$app->user->identity->id : 'no_id';
                $host = Yii::$app->request->getHostInfo();
                return "[$log_id][$username][$user_id][$ip][$host][$uri]";
            },
        ],
        [
            'class' => 'yii\log\DbTarget',
	        'logTable'=>'{{%sys_log}}',//这是自定义的一个日志表，表示系统级日志
            'categories' => [
//            	'api',
                'yii\db\*',//数据库的错误日志
	            'error',//手动打印的错误异常
	            'warning',//报错的，但是不是致命错误的
            ], //自定义日志分类
            'levels' => ['error'],
	        'logVars' => [
		        '_POST'
	        ],
	        'prefix' => function ($message){   //日志格式自定义 回调方法
		        $request = Yii::$app->getRequest();
		        $uri = $request->getPathInfo();
		        $ip = $request instanceof \yii\web\Request ? $request->getUserIP() : '-';
		        $log_id = Yii::$app->params['log_id'];
		        $host = Yii::$app->request->getHostInfo();
		        return "[$log_id][$ip][$host][$uri]";
	        },
        ],
	    //这是一个模板，启用的时候在main-local.php里引入log-config-local.php
//        [
//            'class' => 'yii\log\EmailTarget',
//	        'levels' => ['error'],
//            'categories' => [
//            	'yii\db\*',
//	            'error',//手动打印的错误异常
//	            'runtime',//手动打印的错误异常
//            ],
//            'message' => [
//                'from' => ['709546169@qq.com'],
//                'to' => ['709546169@qq.com','949852574@qq.com'],
//                'subject' => '商家联盟故障',
//            ],
//	        'logVars' => [
//		        '_POST'
//	        ],
//	        'prefix' => function ($message){   //日志格式自定义 回调方法
//		        $request = Yii::$app->getRequest();
//		        $uri = $request->getPathInfo();
//		        $ip = $request instanceof \yii\web\Request ? $request->getUserIP() : '-';
//		        $log_id = Yii::$app->params['log_id'];
//		        $host = Yii::$app->request->getHostInfo();
//		        return "[$log_id][$ip][$host][$uri]";
//	        },
//        ],
    ],
];